package com.jy.wms.dao;


import com.jy.wms.common.base.BaseDao;
import com.jy.wms.pojo.SysRole;
import com.jy.wms.pojo.SysRoleFunction;
import com.jy.wms.pojo.SysRoleMenu;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @ClassName: SysRoleMapper.java
* @Description: TODO(这里用一句话描述这个类的作用)
* @Author syh
* @Date Tue Aug 29 16:22:53 CST 2017
*/
public interface SysRoleMapper extends BaseDao<SysRole> {

    /**
     * 添加角色信息
     *
     * @param entity   实体对象
     * @return int
     */
    public Integer baseInsert(@Param("SysRole") SysRole entity);


    /**
     * 分页查询
     *
     * @param entity   实体
     * @return List<SysRole>
     */
    public List<SysRole> baseSelectPage(@Param("SysRole") SysRole entity);

    /**
     * 修改查询（根据主键ID查询）
     *
     * @param id       主键ID
     * @return User
     */
    public SysRole baseSelectByPrimaryKey(@Param("id") String id);

    /**
     * 修改 （匹配有值的字段）
     *
     * @param entity   主键ID列表
     * @return int
     */
    public Integer baseUpdateByPrimaryKeySelective(@Param("SysRole") SysRole entity);

    /**
     * 取授权编辑前的角色功能id集合
     *
     * @param id
     * @return
     */
    public List<String> getSysRoleFunctionById(@Param("id") String id);

    /**
     * 删除已有角色功能
     *
     * @param id
     * @return
     */
    public Integer deleteRoleFunction(@Param("id") String id);

    /**
     * 删除已有角色菜单
     *
     * @param id
     * @return
     */
    public Integer deleteRoleMenu(@Param("id") String id);

    /**
     * 保存新加的角色功能
     *
     * @param sysRoleFunction
     * @return
     */
    public Integer addSysRoleFunction(@Param("sysRoleFunction") SysRoleFunction sysRoleFunction);

    /**
     * 查询功能所属上级菜单集合
     *
     * @param ids
     * @return
     */
    public List<SysRoleMenu> selectRoleMenu(@Param("ids") List<String> ids);

    /**
     * 保存角色菜单方法
     *
     * @param sysRoleMenu
     * @return
     */
    public Integer addRoleMenu(@Param("sysRoleMenu") SysRoleMenu sysRoleMenu);

    /**
     * 查询前台传来的所有菜单和功能集合
     * @return
     */
    public List<SysRoleFunction> getFunctionMenu();
    //添加去重
   public SysRole searchAdd(@Param("mc") String mc);
    //编辑去重
    public SysRole searchAdds(@Param("mc") String mc, @Param("id") String id);
}